package com.frx.leetcode.base.arraytest;

/**
 * @author ：frx
 * @date ：Created in 2019/7/16 19:44
 * @description： LeetCode 至少是其他数字两倍的最大数 所有数字
 *       输入 {3,6,1,0} 输出 1
 *       输入 {1，2，3，4} 输出 -1
 * @modified By：
 * @version: ToDO
 */
public class TwiceTime {
    public static void main(String[] args){
        int[] nums1 = {3,6,1,0};
        int[] nums2 = {1,2,3,4};
        int[] nums3 = {0,0,3,2};
        System.out.println(solution(nums1));
        System.out.println(solution(nums2));
        System.out.println(solution(nums3));
    }
    /** 解法一 找到最大值然后进行比较   解法二 只要最大的比第二大的大即可满足条件*/
    public static int solution(int[] nums){


        int[] maxInt = max(nums);
        for (int i= 0; i<nums.length;i++){
            if (i == maxInt[1]){
                continue;
            }
            if (2 * nums[i] > maxInt[0]){
                return -1;
            }
        }

        return maxInt[1];
    }

    public static int[] max(int[] nums){
        int[] maxInt = new int[2];
        int max = 0;
        int index = 0;
         for (int i=0; i< nums.length;i++){
             if (nums[i] > max){
                 max = nums[i];
                 index = i;
             }
         }
         maxInt[0] = max;
         maxInt[1] = index;
        return maxInt;
    }

}
